package com.aizuda.boot.modules.business.permission.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;


import java.io.Serializable;

/**
* 部门组织树聚表
* @TableName auth_department
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("auth_department")
public class DepartmentEntity extends BaseEntity implements Serializable {

    /**
    * 主键ID
    */
    @NotNull(message="主键ID不能为空")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
    * 节点ID
    */
    @NotNull(message="[节点ID]不能为空")
    @Schema(description = "节点ID")
    private Long nodeId;
    /**
    * 上级节点ID
    */
    @Schema(description = "上级节点ID")
    private Long nodeParentId;
    /**
    * 
    */
    @Size(max= 52,message="编码长度不能超过52")
    @Schema(description = "")
    @Length(max= 52,message="编码长度不能超过52")
    private String name;
    /**
    * 
    */
    @Size(max= 128,message="编码长度不能超过128")
    @Schema(description = "")
    @Length(max= 128,message="编码长度不能超过128")
    private String code;
    /**
    * 
    */
    @Size(max= 1000,message="编码长度不能超过1000")
    @Schema(description = "")
    @Length(max= 1000,message="编码长度不能超过1,000")
    private String paths;
    /**
    * 
    */
    @Size(max= 256,message="编码长度不能超过256")
    @Schema(description = "")
    @Length(max= 256,message="编码长度不能超过256")
    private String remark;
    /**
    * 排序
    */
    @Schema(description = "排序")
    private Integer sort;
    /**
    * 是否可用，0：否，1：是
    */
    @Schema(description = "是否可用，0：否，1：是")
    private Integer enable;

}